拡張ポイントの定義

概要

エクステンションによる次の拡張ポイントをマニフェストに定義します。

  • リボン
  • イベント
  • コマンド

リファレンス

Tip

実装例

ここではエクステンションの機能を実行するボタン1つを定義したシンプルな拡張ポイントの実装例を示します。

  • extensionPoints セクションにリボンの構成を表す ribbon と実行コマンドを表す commands を定義します。
  • リボンには、リボンを構成するタブとグループとボタンなどのコントロールを定義します。
  • ボタンには実行するコマンドを割り当てます。

この例では extensionPoints.ribbon.tabs[0].groups[0].controls[0].command プロパティに、後で定義するコマンドの ID Command.SayHello を指定しています。

  • コマンドには、実行コマンドの ID とタイトルとコマンドハンドラの関数名を定義します。

この例では extensionPoints.commands プロパティに1つ目の実行コマンドとして ID Command.SayHello のコマンドを定義しています。
extensionPoints.commands[0].execFunc プロパティの SayHello という名前が、エントリーポイントの実行プログラム main.cs に実装されるコマンドハンドラの関数名です。

manifest.json

{
  // エクステンション定義
  "name": "HelloWorld",
  "main": "main.cs",
  "lifecycle": "application",

  // 拡張ポイント定義
  "extensionPoints": {
    // リボン
    "ribbon": {
      "tabs": [
        // リボンタブ
        {
          "id": "HelloWorld.MainTab",
          "label": "HelloWorld",
          "orderBefore": "System.View",
          "groups": [
            // リボンタブ内のグループ
            {
              "id": "HelloWorld.FirstGroup",
              "label": "グループ1",
              "controls": [
                // ボタン
                {
                  "id": "HelloWorld.SayHelloButton",
                  "type": "Button",
                  "label": "Say Hello",
                  "imageLarge": "images/About.png",
                  "command": "Command.SayHello"
                }
              ]
            }
          ]
        }
      ]
    },

    // コマンド
    "commands": [
      {
        "id": "Command.SayHello",
        "execFunc": "SayHello"
      }
    ]
  }
}